The present invention generally relates to hypermedia applications. More specifically, the present invention relates to selecting multimedia objects for buffering based on assignment weights.
Applications exist that allow a user to select an electronic document having synchronized video and audio content from among several possible choices. For example, in the context of networks using the Internet Protocol (IP), a user can download a World Wide Web page from a particular server site, such as a server site that provides synchronized video and audio content from movies. In this example, each movie selection can be represented with a single video frame, often referred to as a thumbnail sketch, from which the user can select a particular movie.
Typically, a substantial delay occurs between the request by the user and the point in time at which the document having synchronized video and audio is presented to the user. For example, an interval ranging from several seconds to more than a minute exists while the user is deciding which document is to be presented.
Additionally, once the user selects a particular document, an additional delay occurs before the corresponding segments of the document begin to stream. Streaming is the process by which the temporal relationship within each document segment carrying the continuous media information is restored to their original temporal relationship. In other words, where continuous media information is so large that it needs to be divided into segments for transport, the temporal relationships between those segments must be restored upon reception. The delay associated with streaming occurs because several actions must occur before any video/audio can be presented to the user. First, the user""s request has to transit the network and to reach the server storing the requested document. Then, the segments have to be sent from the server and correspondingly received by the user. Finally, a buffer at the user""s computer must be filled with the first few seconds of content so that streaming can begin. Only at this point can the video/audio content be presented to the user. When network congestion starts to occur, subsequently transiting packets associated with the segments are dropped; consequently, the video/audio content is presented to the user with reduced quality.
To avoid the delays associated with streaming the document segments, some known systems automatically fill buffers for the first group of segments for all possible choices of the documents presented to the user. Other known systems simply buffer the first possible document until the buffer is filled.
These known systems, however, suffer a shortcoming. When many possible choices of documents having synchronized video and audio content are presented to a user, for example twenty or more documents, the known systems are not effective. Known systems which attempt automatically to fill buffers with the first group of segments for all possible choices of the documents cannot effectively do so. Known systems which simply buffer the first possible document until the buffer is filled are not effective because the user will not likely select the first multimedia document from many possible documents.
A portion of a first multimedia object and a portion of a second multimedia object can be buffered at, for example, a user""s computer. The portion of multimedia content of the first multimedia object and the portion of multimedia content of the second multimedia object are accepted. The portion of multimedia content of the first multimedia object corresponds to the first assignment weight; the portion of multimedia content of the second multimedia object corresponds to the second assignment weight. The portion of multimedia content of the first multimedia object and the portion of multimedia content of the second multimedia object are stored.
The first assignment weight associated with the first multimedia object and the second assignment weight associated with the second multimedia object can be determined, for example, based on a profile of the user requesting the multimedia objects. Alternatively, the first assignment weight and the second assignment weight can be determined, for example, based on a multiple user profile or on numerically weighted preferences of the first multimedia object and the second multimedia object.
Of course, many more than two multimedia objects can be buffered and the multimedia content of the multimedia objects can include various types of information such as, for example, high quality graphic images. Buffering using assignment weights can be performed, for example, for a resource having one hundred multimedia objects each comprising high quality graphic images.